home *** CD-ROM | disk | FTP | other *** search
-
-
-
- FCNTL C Library Procedures FCNTL
-
-
-
- NNAAMMEE
- fcntl - file control
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ffccnnttll..hh>>
-
- rreess == ffccnnttll((ffdd,, ccmmdd,, aarrgg))
- iinntt rreess;;
- iinntt ffdd,, ccmmdd,, aarrgg;;
-
- DDEESSCCRRIIPPTTIIOONN
- _F_c_n_t_l provides for control over descriptors. The argument
- _f_d is a descriptor to be operated on by _c_m_d as follows:
-
- F_DUPFD Return a new descriptor as follows:
-
- Lowest numbered available descriptor greater
- than or equal to _a_r_g.
-
- Same object references as the original
- descriptor.
-
- New descriptor shares the same file pointer
- if the object was a file.
-
- Same access mode (read, write or read/write).
-
- Same file status flags (i.e., both file
- descriptors share the same file status
- flags).
-
- The close-on-exec flag associated with the
- new file descriptor is set to remain open
- across _e_x_e_c_v(2) system calls.
-
- F_GETFD Get the close-on-exec flag associated with
- the file descriptor _f_d. If the low-order bit
- is 0, the file will remain open across _e_x_e_c,
- otherwise the file will be closed upon execu-
- tion of _e_x_e_c.
-
- F_SETFD Set the close-on-exec flag associated with _f_d
- to the low order bit of _a_r_g (0 or 1 as
- above).
-
- F_GETFL Get descriptor status flags, as described
- below.
-
- F_SETFL Set descriptor status flags.
-
- F_GETOWN Get the process ID or process group currently
- receiving SIGIO and SIGURG signals; process
-
-
-
- Sprite v1.0 May 22, 1986 1
-
-
-
-
-
-
- FCNTL C Library Procedures FCNTL
-
-
-
- groups are returned as negative values.
-
- F_SETOWN Set the process or process group to receive
- SIGIO and SIGURG signals; process groups are
- specified by supplying _a_r_g as negative, oth-
- erwise _a_r_g is interpreted as a process ID.
-
- The flags for the F_GETFL and F_SETFL flags are as follows:
-
- FNDELAY Non-blocking I/O; if no data is available to
- a _r_e_a_d call, or if a write operation would
- block, the call returns -1 with the error
- EWOULDBLOCK.
-
- FAPPEND Force each write to append at the end of
- file; corresponds to the O_APPEND flag of
- _o_p_e_n(2).
-
- FASYNC Enable the SIGIO signal to be sent to the
- process group when I/O is possible, e.g.,
- upon availability of data to be read.
-
- RREETTUURRNN VVAALLUUEE
- Upon successful completion, the value returned depends on
- _c_m_d as follows:
- F_DUPFD A new file descriptor.
- F_GETFD Value of flag (only the low-order bit is defined).
- F_GETFL Value of flags.
- F_GETOWN Value of file descriptor owner.
- other Value other than -1.
- Otherwise, a value of -1 is returned and _e_r_r_n_o is set to
- indicate the error.
-
- EERRRROORRSS
- _F_c_n_t_l will fail if one or more of the following are true:
-
- [EBADF] _F_i_l_d_e_s is not a valid open file descriptor.
-
- [EMFILE] _C_m_d is F_DUPFD and the maximum allowed number
- of file descriptors are currently open.
-
- [EINVAL] _C_m_d is F_DUPFD and _a_r_g is negative or greater
- than the maximum allowable number (see
- _g_e_t_d_t_a_b_l_e_s_i_z_e(2)).
-
- [ESRCH] _C_m_d is F_SETOWN and the process ID given as
- argument is not in use.
-
- SSEEEE AALLSSOO
- close(2), execve(2), getdtablesize(2), open(2), sigvec(2)
-
-
-
-
-
- Sprite v1.0 May 22, 1986 2
-
-
-
-
-
-
- FCNTL C Library Procedures FCNTL
-
-
-
- BBUUGGSS
- The asynchronous I/O facilities of FNDELAY and FASYNC are
- currently available only for tty and socket operations.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 May 22, 1986 3
-
-
-
-